Lecture 13: Breadth-First Search